package com.henghe.frame.common.util;

import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Description:
 * Author: LiuWenQing
 * Datetime: 2023/4/4 17:13
 */
public class PattenUtil {

    /**
     * 处理日志格式
     * @param templateStr
     * @param o
     * @return
     */
    public static String handleLogDesc(String templateStr, Object... o) {
        int length = o.length;
        for (int i = 0; i < length; i++) {
            if (Objects.nonNull(o[i])
                    && templateStr.contains("{" + i + "}")) {
                templateStr = templateStr.replace("{" + i + "}", o[i].toString());
            }
        }
        return templateStr;
    }

    /**
     * 匹配括号里的值
     *
     * @param input
     * @return
     */
    public static String extractValueInBrackets(String input) {
        // 正则表达式匹配第一个括号内的内容
        Pattern pattern = Pattern.compile("\\(([^()]+)\\)");
        Matcher matcher = pattern.matcher(input);

        if (matcher.find()) {
            return matcher.group(1);
        } else {
            return null;
        }
    }

    /**
     * 判断是否都是数字
     * @param input
     * @return
     */
    public static Boolean isAllDigits(String input) {
        return input.matches("\\d+");
    }

}
